<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // Object.defineProperty（对象，属性名，参数对象）
        // 使用场景：数据代理，响应式对象，将某个对象的值和某个变量进行绑定

        
            //场景1：双向绑定age和obj1.age，这样age和obj1.age两个的值共享
            // let age=10;
            // let obj1={
            //     name:'kevin', // 浏览器里会高亮
            // }
            // // 浏览器里会低亮
            // Object.defineProperty(obj1,'age',{

            //     enumerable:true, // 是否可枚举
            //    // writable:true, // 是否可写入,有setter就不能声明这个属性
            //     configurable:true, // 是否可删除
            //     get(){
            //         return age;
            //     },
            //     set(val){
            //         age=val;
            //     }
            // }
            // )
            

            // 这样是无法进行数据绑定
            let obj1={age:10};
            let obj2={name:'kevin',age:obj1.age}

        
        
    </script>
</body>
</html>